package com.example.fragmenttest.first;

import android.view.View;

import androidx.appcompat.app.AppCompatActivity;

public class FragmentMain extends AppCompatActivity implements View.OnClickListener {
    @Override
    public void onClick(View v) {

    }

//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
//        Button button = (Button) findViewById(R.id.button);
//        button.setOnClickListener(this);
//
//        //replaceFragment(new RightFragment());
//
//
//        if (savedInstanceState == null) { // 只有在第一次创建 Activity 时才添加 Fragment
//            Bundle bundle = new Bundle();
//            bundle.putInt("some_int", 0);
//            getSupportFragmentManager().beginTransaction()
//                    .setReorderingAllowed(true)
//                    .add(R.id.right_layout, RightFragment.class, bundle)
//                    .commit();
//        }
//    }
//
//    @Override
//    public void onClick(View v) {
//        if (v.getId() == R.id.button) {
//            replaceFragment(new AnotherRightFragment());
//        }
//    }
//
//    /*
//         支持 Fragment 过渡动画和 Fragment 视图的恢复，在 Activity 或 Fragment 重建时表现更好。
//         避免 Fragment 重叠问题，FrameLayout 有时会导致多个 Fragment 叠加，而 FragmentContainerView 处理得更好。
//         兼容 NavHostFragment，通常与 Jetpack Navigation 组件配合使用。
//        <fragment> 标签的替代方案，过去在 XML 中用 <fragment> 声明 Fragment，但 <fragment> 不能在运行时动态替换，FragmentContainerView 解决了这个问题。
//    */
//    private void replaceFragment(Fragment fragment) {
//
//
//        // Fragment和activity的相互通信
//
//        /*
//        // fragmentManager利用  findFragmentById
//        // 可以在活动中拿到 fragment的实例对象
//        LeftFragment leftFragment = (LeftFragment) fragmentManager.findFragmentById(R.id.left_fragment);
//        // 在fragment 可以拿到填充的活动
//        FragmentMain activity = (FragmentMain) leftFragment.getActivity();
//        // 拿到活动的实例之后可以调用 getSupportFragmentManager 在查找要通信的 fragment
//        activity.getSupportFragmentManager().findFragmentById(R.id.left_fragment);
//        */
//
//
//        FragmentManager fragmentManager = getSupportFragmentManager();
//        FragmentTransaction transaction = fragmentManager.beginTransaction();
//
//   /*     // 检查当前 Fragment 是否已经是目标 Fragment，避免重复替换
//        Fragment currentFragment = fragmentManager.findFragmentById(R.id.right_layout);
//        if (currentFragment != null && currentFragment.getClass() == fragment.getClass()) {
//            return; // 如果当前 Fragment 已经是要显示的 Fragment，就不替换
//        }
//*/
//        transaction.replace(R.id.right_layout, fragment);
//        transaction.addToBackStack(null);
//        transaction.commit();
//
//    }


}